package vektorrechnung;

public class Ebene {
	
	private Vektor stuetzvektor;
	private Vektor richtungsvektor1;
	private Vektor richtungsvektor2;
	private Vektor normalenvektor;
	
	public Ebene(Vektor v1, Vektor v2, Vektor v3)
	{
		stuetzvektor = v1;
		richtungsvektor1 = v2;
		richtungsvektor2 = v3;
	}
	public Ebene(double ko1, double ko2, double ko3, double d)
	{
		normalenvektor = new Vektor(ko1, ko2, ko3);
		if(ko1!=0)
			stuetzvektor = new Vektor(d/ko1, 0, 0);
		else if(ko2!=0)
			stuetzvektor = new Vektor(0, d/ko2, 0);
		else if(ko3!=0)
			stuetzvektor = new Vektor(0, 0, d/ko3);
		else
			stuetzvektor = new Vektor(0, 0, 0);
	}
	
	public Vektor getStuetzvektor()
	{
		return stuetzvektor;
	}
	public Vektor getRichtungsvektor1()
	{
		return richtungsvektor1;
	}
	public Vektor getRichtungsvektor2()
	{
		return richtungsvektor2;
	}
	public Vektor getNormalenvektor()
	{
		if(normalenvektor==null)
			normalenvektor = VektorCalculation.kreuzprodukt(richtungsvektor1, richtungsvektor2);
		
		return normalenvektor;
	}
	
	public String toString()
	{
		return stuetzvektor.toString()+" + a"+richtungsvektor1.toString()+" + b"+richtungsvektor2.toString();
	}
}